This invention relates to digital delay locked loops for use in high frequency clock synchronization applications.
In synchronous dynamic random access memory (SDRAM) applications, as frequencies approach 200 MHz, the inherent analog delay between an external, system or reference clock and the time output data is valid, is becoming a crucial constraint. Such a delay of e.g. 4-10 ns is large enough to make a following clock cycle overlap the data, i.e. the delay becomes large enough for data not to be ready at the output during one cycle, and it essentially becomes xe2x80x9coff-syncxe2x80x9d. This inherent internal delay must therefore be accelerated according to the necessary frequency but in a controlled fashion. The problem translates into a synchronization task between the internal clock, which controls the output path, and the correct edge of the external clock.
Analog delay locked loops have been employed in the past to perform the synchronization, which are comprised of a delay chain having the delay of its elements varied by analog bias voltages supplied by a phase detector. In digital systems such as memories, microprocessors and application specific integrated circuits, these types of delay locked loops introduce analog design complications in a mainly digital design, and therefore are avoided.
Digital delay locked loops use a digitally adjustable delay line. Digital information is used to either include or exclude a certain number of delay elements within a delay chain. Although digital delay locked loops have a much higher jitter than analog delay locked loops, their ease of implementation in a digital system makes them the preferred solution in most digital applications.
Previously, various digital delay locked loop techniques have been used to address clock synchronization problems, for example as described in U.S. Pat. No. 5,311,483 to Takasugi and U.S. Pat. No. 4,754,164 to Flora et al. Background information concerning digital delay lines is given in U.S. patent application Ser. No. 08/638,809 filed in the name of Maamoun Abouseido and assigned to Mosaid Technologies Incorporated.
U.S. Pat. No. 5,355,037 issued Oct. 11, 1994 to Andresen et al describes a digital delay locked loop, and a representation of key elements thereof is illustrated in FIG. 1. In the disclosed approach, a digital clock waveform is synchronized with a reference clock waveform by propagating the reference clock through a delay path having an adjustable propagation delay. The delay of the delay path is increased from a minimum setting until the edge of the delayed reference clock is eventually time-shifted just past the next corresponding edge of the reference clock. A digital phase detection circuit is employed to control the delay line propagation delay so that the delayed clock remains synchronized with reference clock.
FIG. 1, depicting a common implementation of the prior art, includes: a phase detector 1 comprised of a D-type flip-flop 25, cross-coupled NAND gates 19 and 21 which form an RS flip-flop, AND gates 23 and 28, and a fixed delay circuit 27; a digital delay line 2 which comprises a series of identical delay elements; a right/left shift register 4 having one stage per delay element; internal clock input and output buffers 10 and 12; and, optionally, as further discussed in an application note published by the assignee of U.S. Pat. No. 5,355,037, Texas Instruments, a reference delay circuit 7, and a shift clock generator 8 producing a shift clock signal CLKS with frequency of one half the reference clock frequency CLKR. In the simplest application of prior art, shown in FIG. 1, the Qxe2x80x2 output of the phase detector 1 is connected to the xe2x80x9cshift right/leftxe2x80x9d control input of the delay shift register 4. The CLKS signal causes the delay shift register 4 to shift data bits right or left, depending on the state of the phase detector Qxe2x80x2, thereby introducing more or fewer delay line elements in the delay line 2 to be connected in series. The delayed output of the delay line 2 is buffered by 12 to form an internal clock CLKI.
The internal clock is optionally connected through a reference delay circuit 7 to the feedback input of the phase detector 1, to introduce a phase shift equivalent to the delays of the semiconductor device input and/or output buffer 10 and 12. This practice is necessary if an internal clock is to be synchronized to a clock external to the semiconductor device.
In operation, with reference to FIG. 2, there exist three relative time positions in which CLKI can be with relation to CLKR. The first case is denoted by CLKI1, which occurs when the rising edge of the reference clock CLKR 45 trails the rising edge of CLKI1 46, in which case the rising edge 46 must be delayed to enter into a phase detection window. The phase detection window is denoted by the shaded areas in FIG. 2 and is described in the prior art to be generated by subtracting the propagation delay through AND gate 23 and the setup time of flip/flop 26 from the fixed delay element 27. The second case is denoted by CLKI2 44, and illustrates the rising edge of internal clock CLKI2 trailing the rising edge of the reference clock CLKR 45, but rising within the specified phase detection window demarcated by the dashed lines. The third case is denoted by CLKI3, and occurs when rising edge of the internal clock CLKI3 43 trails the rising edge of the reference clock 45 and is outside the phase detection window, in which case the rising edge 43 must be delayed past the next rising clock edge 49 and into the next phase detection window. In both cases 1 and 3, delay elements are therefore added to the delay line, causing an increase in the delay. This is accomplished by the logic gates and the D-type flip-flop of the phase detector outputting a xe2x80x981xe2x80x99 to the xe2x80x9cshift right/leftxe2x80x9d control input of the shift register. Therefore, the shift register is clocking in ones and shifting them from left to right. This covers an increase of delay which is continued until a rising edge of the internal clock CLKI occurs within the phase detection window, following the rising edge of the reference clock CLKR, as illustrated in case 2. Once case 2 has been attained, i.e. a xe2x80x980xe2x80x99 output from the phase detector, delay elements are removed from the delay line, effectively decreasing the delay until the rising edge of the internal clock steps just outside of the phase detection window. An increase in delay will then be required and the phase detector will cause the delay line to increase delay once again. This one-step-forward, one-step-backward process is continuously repeated to maintain a locked condition.
The shift right/left control signal applied to the delay line is clocked either by the reference clock or, optionally, for high frequency applications, by a shift clock signal CLKS from the clock divider circuit 8 which runs at half the reference clock frequency. If CLKS is used, the adding or removing delay elements from the digital delay line will occur on every second reference clock signal. The number of delay elements being used in the digital delay line corresponds to the number of sequential 1""s stored in the left-most portion of the shift register.
Thus the delay of the delay path is always increased until the rising edge of the internal clock is eventually time-shifted past the next successive corresponding rising edge of the reference clock. It can be seen that the phase detection window used to align the external and internal clock edges is very narrow. When the internal clock is not within the time window, delay is increased continually until the desired edge of the reference clock is time shifted to be within the time window. As described earlier, once the internal clock is within the time window, the system decreases the delay slightly until the internal clock falls just outside the time window, which in turn will cause the system to once again increase delay. The repetitive shifting causes internal clock jitter of one delay step while trying to maintain the lock. It is clearly desirable to minimize this jitter, which implies delay elements with small delays. However, with smaller element delays more elements are required in the delay line to cover the same minimum-to-maximum delay range.
Furthermore, the small phase detection window characteristic of the phase detector, can cause a loss of lock condition if the system clock itself has jitter which will cause the phase detection window to move away from the lock. For example, if the internal clock edge falls within the phase detection window and the system clock experienced jitter, the system will bump the internal clock out of the phase detection window and send it searching for a new lock position by starting to increase delay. In order to solve this problem, the phase detection window for the phase detector must be made no less than two times one delay element delay to ensure lock.
The above prior art circuit thus has deficiencies caused by conflicting requirements. While it has been found to be reliable at start-up of operation, it can easily lose lock when the system clock has jitter, in the manner described above.
In accordance with the present invention, all operations of the digital delay locked loop are based on edge triggered synchronous logic only. Pulse width dependent events as found in the prior art are thus avoided. The fed back internal clock signal passes though a reference delay circuit, whose output is then sensed by the phase detector. A phase detection region is made to span virtually an entire clock cycle, in order to avoid losing lock as a result of system clock jitter. Finally, the unused portion of the delay line is disabled so as to prevent the unnecessary consumption of power by unused elements. The result is significant tolerance to system clock jitter, with reliable start-up locking.
The main states of the DLL system consist of seeking a phase detection region, entering that region and seeking initial lock, closing the loop and enabling a clock jitter filter to prevent falling out of the lock condition as may result from system clock jitter. A large phase detection region results which is substantially a clock cycle wide, rather than the small phase detection window as defined as in the prior art. Substantial immunity from system clock jitter which would cause unlocking in the prior art is thus achieved.
In accordance with an embodiment of the invention, in a digital delay locked loop (DLL) comprising a phase detector for receiving and comparing a reference clock signal (CLKR) and an internal clock signal (CLKI) and for delaying an output of the phase detector through a digital delay circuit having a variable delay and through an output driver and providing a DLL output clock signal (CLK13 IO); a reference delay feedback circuit for receiving the CLK_IO signal, delaying the CLK_IO signal and providing the delayed CLK_IO signal as the internal clock (CLKI) signal to an input of the phase detector; a control circuit for receiving the output of the phase detector and controlling the variable delay in the digital delay circuit so as to substantially lock the reference clock (CLKR) and the internal clock (CLKI) signals together in synchronization; an improvement in the control circuit comprising a subcircuit for selectively adjusting the variable delay of the digital delay so as to enable locking to occur between a reference clock edge and an internal clock edge within a phase detection region; wherein said phase detection region is greater than or equal to one half and less than a full period of the reference clock.
In accordance with another embodiment, in a digital delay locked loop (DLL) comprising a phase detector for receiving and comparing a reference clock signal (CLKR) and an internal clock signal (CLKI) and for outputting an output clock signal (CLK_IO) of the DLL via a digital delay circuit having a variable delay and via an output driver; a reference delay feedback circuit for receiving the CLK_IO signal, delaying the CLK_IO signal and providing the delayed CLK_IO signal as the CLKI signal to an input of the phase detector; a control for receiving an output signal from the phase detector and controlling the variable delay in the digital delay circuit so as to substantially lock the reference clock (CLKR) and the internal clock (CLKI) signals together in synchronization; the digital delay circuit comprising a shift register coupled to a plurality of delay elements selectively switchable in series by the control to establish the variable delay based on the selected number of delay elements;
an improvement comprising a switching circuit for disabling operation of delay elements which are not required to be part of the selected number of delay elements connected in series.
In accordance with another embodiment, a method of controlling a digital delay locked loop for synchronizing a first and second clock signal comprising:
(a) progressively increasing a variable delay in the delay loop, with the delay loop in an open condition, while a targeted clock edge of the first clock signal is outside a predetermined phase detection region, the predetermined phase detection region surrounding a predetermined rising edge of the second clock,
(b) ceasing to increase the variable delay and closing the delay loop when the targeted clock edge lies within the predetermined phase detection region.
In accordance with another embodiment, a control circuit for a digital delay locked loop for synchronizing a first and a second clock signal, comprising:
(a) a circuit for progressively increasing a variable delay in the delay loop, with the delay loop in an open condition, while a targeted clock edge of the first clock signal is outside a predetermined phase detection region, the predetermined phase detection region surrounding a predetermined rising edge of the second clock, and
(b) a circuit for increasing the variable delay and closing the delay loop when the targeted clock edge lies within the predetermined phase detection region.